1. Field of the Invention
This invention relates generally to database systems. More particularly, it relates to a transactional mechanism supporting complete, heterogeneous distributed transactions in database systems.
2. Description of the Related Art
Databases are increasingly becoming the central point of heterogeneous integration. Ideally, an integrated database system would provide database applications a single point of access to the underlying databases, regardless whether the databases are relational, non-relational, structured, or non-structured. In practice, this is difficult to achieve due to the proprietary nature of the system, e.g., programming language, platforms, client-server protocols, transaction protocols, and standards, in which each individual database resides.
Several popular database systems have implemented mechanisms to allow certain degrees of heterogeneous integration. For example, IBM® DB2 Universal Database™, hereinafter referred to as “DB2, ” implemented federated databases and wrapper modules such as DB2 Information Integrator and DB2 Data Joiner to integrate external data sources into database transaction. On the other hand, Oracle database applications can communicate with external data sources via a proprietary gateway and tools. Similarly, Sybase® provides a drivers and gateways to access external data. These proprietary gateways and tools are familiar to one skilled in the art and thus are not further described herein.
Unfortunately, these mechanisms are tailored to individual proprietary database systems and currently lack complete, full-fledged support for heterogeneous distributed transactions. These proprietary transactional mechanisms cannot be readily extended to integrate with new systems or datasources.
It has become increasingly desirable for database systems to support heterogeneous distributed transactions accessing structured as well as non-structured external data sources. What is more, there exists a need in the art to extend such a complete distributed transaction support to native database systems in a dynamic, efficient, and economical manner.